The present disclosure relates to the field of software and, more particularly, to leveraging the relationship between object IDs and functions in diagnosing software defects during the post-deployment phase.
After software is bought and used by the end user, there is typically a support process in place to help support the end user. Usually, a support team in the organization accepts the support call and helps the customer depending on the type of support required. There may be different levels of support staff in the support team.
For example, an initial call can be accepted by a support person at the Level 0. This person logs the call and tries to solve the problem at a basic level. If this person cannot help, he or she escalates the issue to the next level, typically to the Level 1 support engineer. The Level 1 support engineer tries to understand the problem, and tries basic configuration help. The problem escalates, for example, to Level 2. At Level 2 the typical problems addressed are related to some advanced configuration or other known issue of the software being unable to co-exist with other software products. The problem escalates to Level 3 if there is a defect or bug, which has to be fixed in the source code of the software application. Different organizations may have different numbers of levels. One of these levels will typically have someone responsible for fixing defects or bugs in software products.
The person at Level 3 who has to fix defects or bugs can have the source code of the software and a change management system to help with addressing the defects. In an organization that uses multiple levels, this top level person leverages all the symptoms articulated by the lower level support people on this case before it gets to him or her. The person who has to fix defects in the source code finds the cause within the source code and fixes the source code to solve the particular problem.
A function verification test (FVT) cycle is a period in time when most of the functionality of a software application is tested during development. This testing is typically done in iterations or cycles so that each FVT cycle catches newer defects. A project plan for software application development may specify that there be one or more function verification testing cycles during the development of the software product. There is an inherent gap in the software development lifecycle and process in that the data collected from the FVT phase is not reused in any other phase, especially in post-sales support.